The present invention relates to data transmission in a network, and more particularly to the rate of data transmission in the network.
Home networks are becoming more common and desirable for connecting computers within a home. One type of home network is the home phone line network which uses telephone lines typically installed in residential homes for communication between computers in the home. The Home Phone Line Networking Alliance (HPNA) has published a specification to standardize the behavior of home phone line networks. The current HPNA specification is version 2.0 (xe2x80x9cHPNA 2.0xe2x80x9d).
FIG. 1 illustrates a home phone line network. The network comprises a control chip 100. The chip 100 further comprises a Media Independent Interface (MII) 106, a Media Access Control (MAC) 108, and a Physical Layer (PHY) 110. The chip 100 implements HPNA 2.0. The chip 100 receives a signal containing data packets through the telephone wires via a phone jack 102. There is an analog front end (AFE) 104 which processes the signal between the chip 100 and the telephone wires. The chip 100 then processes the packets received in the signal from the AFE 104, and outputs a signal to the Host MAC 112.
FIG. 2 illustrates a typical hardware-software interface for a home phone line network. The interface comprises a HPNA-compatible network interface controller (NIC) 206 which receives frames from the MAC 108. The NIC 206 sends the frame to a HPNA-compatible driver software 204 which is typically on a host computer. The driver software 204 then sends the frame to an upper layer software 202, such as the TCP/IP protocol stack. The TCP/IP protocol stack corresponds to the Windows(trademark) network stack.
Because conditions on the phone lines vary, the HPNA 2.0 allows the data transmission rate between two stations in the network to be changed, according to the transmission error rate. If a data transmission rate is too fast for the line condition, then there can be a high level of errors in the frames received. 1f the data transmission rate is too slow for the line condition, then the data transmission rate is not optimized. The data transmission rate is determined by a payload encoding (PE). The PE is defined as the bit loading (bits/symbol) multiplied by the symbol rate (symbols/sec). The goal for HPNA 2.0 is to have a transmission error rate less than 10xe2x88x924. This is referred to as xe2x80x9crate negotiationxe2x80x9d.
The HPNA 2.0 sets forth a sample rate negotiation algorithm. FIG. 3 is a flowchart illustrating a sample PE selection algorithm for rate negotiation according to HPNA 2.0.
First, a first table of mean square error (MSE) required for each PE to achieve a packet error rate (PER) of 1exe2x88x923 is compiled. This first table is defined as DOWN_LARQ. A second table is also compiled with a target PER of 1exe2x88x926. This second table is defined as DOWN_NOLARQ. A third table is defined as DOWN_LARQ. This third table has all ASMSE values in UP_LARQ but decreased by 2 dB. A fourth table is defined as DOWN_NOLARQ. This fourth table has all ASMSE values in UP_NOLARQ but decreased by 2 dB, via step 302. The Limited Automatic Repeat Request (LARQ) is an additional 8-bytes in a frame""s header. The LARQ conveys link layer priority information and provides a negative acknowledgment protocol to increase the speed of frame retransmission.
Next, a history window of 16 HPNA 2.0 frames is maintained, via step 304. A MSE is computed for the frames in the history window that did not have a Cyclic Redundancy Check (CRC) error, via step 306.
If the use of LARQ is not enabled, then the UP_NOLARQ table is searched to find an upper PE with a MSE greater than or equal to the MSE for the window, via step 310. The DOWN_NOLARQ table is searched to find a down PE with a MSE greater than or equal to the MSE for the window, via step 312.
If the use of LARQ is enabled, then the UP_LARQ table is searched to find the upper PE with a MSE greater than or equal to the MSE for the window, via step 314. The DOWN_LARQ table is searched to find the down PE with a MSE greater than or equal to the MSE for the window, via step 316.
Next, if the upper PE is greater than the current PE, via step 318, then the new PE is set equal to the upper PE, via step 320. Otherwise, if the down PE is less than the current PE, via step 322, then the new PE is set equal to the down PE, via step 324. Otherwise, the current PE is maintained as the new PE, via step 326.
However, HPNA 2.0 does not specify how the values in the DOWN_LARQ, DOWN_NOLARQ, UP_LARQ, AND UP_NOLARQ are computed.
Accordingly, there exists a need for a method for computing MSE to PE tables for rate negotiation. The present invention addresses such a need.
A method for computer MSE to PE tables for rate negotiation has been disclosed. The method obtains probabilistic values for packet sizes in a network and obtains BER values for each FER based on these probabilistic values. An MSE for each PE is then calculated based on the BER values to obtain the upper limit tables. The MSE values in the upper limit tables is then decreased by 2 dB to obtain the lower limit tables. The MSE to PE tables may then be used for rate negotiation as set forth in the HPNA 2.0 specification.